iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
0
Modern Web

ASP.NET Web Form 入門30天系列 第 18

[ASP.NET] 網頁常用物件-初淺談Request物件

  • 分享至 

  • xImage
  •  

本篇擷取重點:

  1. Request物件
  2. Request物件的常用屬性及方法

一、Request物件

Request 物件是 ASP 的內建物件之一,我們可以使用此物件來取得當用戶對伺服器進行要求(Request)時,對伺服器所送出的資訊,這些資訊包含用戶端的表單資訊、cookies資訊、認證資訊等,以及伺服器的環境變數等。事實上,這些資訊是經由 HTTP 的表頭(Headers)傳到伺服器端,經由伺服器解析後,存放於 Request 物件中。

參考資料:
http://mirlab.org/jang/books/asp/requestIntro.asp?title=14-1%20Request%20%AA%AB%A5%F3%C2%B2%A4%B6


二、Request物件的常用屬性及方法:

  1. 常用屬性
屬性 說明
ClientCertificate 用戶端的認證資訊
Cookies 用戶端硬碟所儲存的 Cookie 資訊
Form 以 post 為傳送方法的表單資訊
QueryString 以 get 為傳送方法的表單資訊(URL參數)
ServerVariables 伺服器環境變數的值
Params 是QueryString、ServerVariables、Form、cookies屬性的組合
UserHostAddress 取得遠端客戶端IP位地
Path 取得當下的請求虛擬路徑

==================================================================
貼心小補充:

其他取得當下請求路徑的Request物件常用屬性:

https://ithelp.ithome.com.tw/upload/images/20190920/20120056M2jzUOEEy6.jpg


虛擬路徑:(網址URL,正斜線),例如: http: //localhost:1897/News/Press/Content. aspx/123
- 絕對路徑 http: //localhost:1897/News/Press/Content. aspx/123
- 相對路徑 (視其相對位置而定,下方舉例說明)


範例:

使用者所在瀏覽的網頁網址為,http: //localhost:1897/News/Press/Content. aspx/123
這層網頁開啟所需讀取的logo.png檔案所在位置為,http: //localhost:1897/News/Press/images/logo.png
相對路徑可以寫成 ../../images/logo.png


幾種常見的虛擬路徑的「相對路徑」寫法:

  • /根目錄
  • ~/以根目錄為主的相對路徑 (僅用在ASP.NET)
  • ./當前目錄
  • ../上一層目錄
  • ../ ../上上層目錄 (同理上上上層、上上上上層)

參考資料:
https://blog.miniasp.com/post/2008/02/10/How-Do-I-Get-Paths-and-URL-fragments-from-the-HttpRequest-object (大推薦,ASP.NET 如何取得 Request URL 的各個部分)
https://blog.miniasp.com/post/2008/10/19/URL-URI-Description-and-usage-tips (更多URL)

==================================================================


  1. 常用方法
方法 說明
BinaryRead() 以二進位方式來讀取客戶端使用POST方法傳遞的資料並儲存在SafeArray中
MapPath() 將string虛擬路徑(網址URL)轉為實際路徑(伺服器的儲存路)。

==================================================================
貼心小補充:

WINDOWS電腦儲存路徑:(檔案總管,反斜線),例如: C:\inetpub\wwwroot
- 絕對路徑 (C:\inetpub\wwwroot )
- 相對路徑 (視其相對位置而定,下方舉例說明)


範例:

目前所在位置:C:\OBPV2\OBPV2Portal\QA\Portal_Web_SSO\Tool
標的所在位置:C:\OBPV2\OBPV2Portal\QA\Portal_Web_SSO\LogFiles\SAPResult.txt

標的檔案,WINDOWS電腦儲存路徑之絕對路徑為:
C:\OBPV2\OBPV2Portal\QA\Portal_Web_SSO\LogFiles\SAPResult.txt
標的檔案,WINDOWS電腦儲存路徑之相對路徑為:
..\LogFiles\SAPResult.txt


幾種常見的WINDOWS電腦儲存路徑的「相對路徑」寫法:

  • \根目錄
  • .\當前目錄
  • ..\上一層目錄
  • ..\ ..\上上層目錄 (同理上上上層、上上上上層)

參考資料:
https://sendohlun.pixnet.net/blog/post/459836524-%5Basp.net%5D-server.mappath

==================================================================


明日(9/20)預定探討課題:

  • Response物件

上一篇
[ASP.NET] 網頁常用物件-初淺談Page物件
下一篇
[ASP.NET] 網頁常用物件-初淺談Response物件
系列文
ASP.NET Web Form 入門30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
小朱
iT邦新手 4 級 ‧ 2019-09-20 07:54:41

路徑寫反了,應該是 "/","\" 是逸出字元。
/、./、../、../../../../ 都可以,還有一種 "~/",經由 VirtualPathUtility.ToAbsolute() 可翻成以根目錄為主的相對路徑。

感謝朱大,立即更正

我要留言

立即登入留言